package xcmg.device.service.warehouse.allot.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;
import org.apache.ibatis.annotations.ConstructorArgs;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 区域调拨计划表 VO类
 */
@Builder
@AllArgsConstructor
@Data
@ToString
public class RegionAllotPlanVO implements Serializable {
    private static final long serialVersionUID = -1L;
    @ApiModelProperty(value = "唯一标识")
    private String id;
    @ApiModelProperty(value = "调拨单申请编号")
    private String allotPlanOrder;
    @ApiModelProperty(value = "移动类型  默认311")
    private String moveType;
    @ApiModelProperty(value = "创建人id")
    private String createId;
    @ApiModelProperty(value = "创建人姓名")
    private String createName;
    @ApiModelProperty(value = "创建日期")
    private Date createDate;
    @ApiModelProperty(value = "组织ID")
    private String orgId;
    @ApiModelProperty(value = "创建人部门")
    private String dept;
    @ApiModelProperty(value = "创建人部门id")
    private String deptId;
    @ApiModelProperty(value = "调入仓库")
    private String inWarehouse;
    @ApiModelProperty(value = "调出仓库")
    private String outWarehouse;
    @ApiModelProperty(value = "调入仓库描述")
    private String inWarehouseDesc;
    @ApiModelProperty(value = "调出仓库描述")
    private String outWarehouseDesc;
    @ApiModelProperty(value = "调度员id")
    private String dispatcherId;
    @ApiModelProperty(value = "调度员名称")
    private String dispatcherName;
    @ApiModelProperty(value = "收货人")
    private String receiveUser;
    @ApiModelProperty(value = "联系方式")
    private String receiveTel;
    @ApiModelProperty(value = "收货地址")
    private String receiveAddress;
    @ApiModelProperty(value = "删除标识")
    private Integer isDel;
    @ApiModelProperty(value = "计划状态  0 编辑、1已提交、2部分调拨、3结单、4已完成")
    private Integer planStatus;

    @ApiModelProperty(value = "CRM单据号")
    private String crmOrder;

    private Date createDateStart;

    private Date createDateEnd;

    public RegionAllotPlanVO() {
        super();
    }

    //非DO信息
    @ApiModelProperty(value = "调拨申请详情信息")
    private List<RegionAllotPlanDetailVO> detailVOList;

    //额外查询信息字段

    @ApiModelProperty(value = "计划状态组合，查询时候使用")
    private List<Integer> planStatusList;

    @ApiModelProperty(value = "唯一标识集合")
    private List<String> idList;

    private String sapCode;
    //允许查看仓库
    private List<String> warehousePermitList;

//    @ApiModelProperty(value = "唯一标识集合,逗号分割")
//    private String ids;
}
